<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"  
      xmlns:pe="http://primefaces.org/ui/extensions"  
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>
            <h:outputText value="Sistema de Seguridad de Aplicaiones - SSA" />
        </title>
    </h:head>
    <h:body>
        <ui:composition template="/WEB-INF/facelets/templates/mainLayout.xhtml">            
            <ui:define name="menuPrincipal">
                <ui:include src="/frmMenu.xhtml"/>
            </ui:define>
             <ui:define name="content" >
                 <p:blockUI block=":frmGestionarGenerales:panGenerales" 
                            trigger=":frmGestionarGenerales:buscarButton" 
                            widgetVar="blkPanel">
                            Espere mientras se cargan los datos<br /> 
                    <p:graphicImage value="/resource/images/loading.gif" style="width: 65px; height: 50px;"/>
                </p:blockUI>
                 <h:form id="frmGestionarGenerales" onkeypress="if (event.keyCode == 13) return false;">
                     <p:growl showSummary="false" showDetail="true" id="msjFiltro"/>
                     <div style="margin-left: 15px;margin-top: 5px; height: 20px;vertical-align: middle;">
                        <span style="font-family: Arial,sans-serif;font-size: 11px !important;"> Maestros \ <a href="generales.jsf" >Generales</a></span>
                     </div>
                     <p:panel id="panGenerales" header="Administración de Parametros Generales" >
                         <table style="width:100%;" >
                            <thead>
                                <tr>
                                    <td style="width: 100px;">
                                        <h:outputText value="Tipo de Parametro:"/> 
                                    </td>
                                    <td style="width: 250px;">
                                        <p:inputText id="txtBusData" value="#{generalesController.txtBusDominio}" style="width: 240px;" maxlength="200">
                                            <pe:keyFilter regEx="/[A-ZÑ 0-9_.]/i"/>
                                        </p:inputText>
                                    </td>
                                    <td style="text-align: left;">
                                        <p:commandButton process="@this,txtBusData" value="Buscar" icon="ui-icon-search"  id="buscarButton"
                                            update=":frmGestionarGenerales:grdGenerales, msjFiltro" actionListener="#{generalesController.searchGeneral}"/> 
                                        <p:commandButton style="margin-right: 5px;" value="Limpiar" icon="ui-icon-cancel" actionListener="#{generalesController.clean}" update=":frmGestionarGenerales:grdGenerales, msjFiltro,txtBusData"></p:commandButton>   
                                    </td>
                                </tr>
                            </thead>  
                            <tbody>
                                <tr>
                                    <td colspan="3">
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="3">
                                        <p:menubar style="width: 99%;" id="menuOpciones">
                                            <p:menuitem value="Nuevo" icon="ui-icon-person" 
                                                        actionListener="#{generalesController.nuevo}"
                                                        update=":dlgDetalleGenerales" >
                                            </p:menuitem>
                                            <p:menuitem value="Modificar" icon="ui-icon-pencil" 
                                                        actionListener="#{generalesController.verDetallesGenerales}" 
                                                        update=":dlgDetalleGenerales, :frmDetalleGenerales, msjFiltro" >
                                            </p:menuitem>
                                            <p:menuitem value="Desactivar" icon="ui-icon-wrench" 
                                                        process="@this, grdGenerales"
                                                        update=":dlgMensaje, :frmGestionarGenerales:grdGenerales, msjFiltro"
                                                        action="#{generalesController.validarDesactivar}" >
                                            </p:menuitem>
                                        </p:menubar>
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="3">
                                        <div style="height: 420px; overflow-y: auto;overflow-x:hidden;">
                                        <p:dataTable id="grdGenerales" var="item" 
                                                     value="#{generalesController.lstGeneral}" 
                                                     rowKey="#{item.id}" 
                                                     selection="#{generalesController.selectedGeneral}" 
                                                     selectionMode="single" paginator="true" rows="10"
                                                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                                     rowsPerPageTemplate="5,10,15,20"
                                                     emptyMessage="Filtro sin resultados. Ingrese un filtro para listar parametros generales."
                                                     rowIndexVar="index">
                                            <p:column width="30" style="text-align: center; width: 30px" >
                                                <f:facet name="header">
                                                    <h:outputText value="N°"/>
                                                </f:facet>
                                                <h:outputText value="#{index+1}"/>
                                            </p:column>
                                            
                                            <p:column width="60" style="text-align: center; width: 60px" >
                                                <f:facet name="header">
                                                    <h:outputText value="Nid"/>
                                                </f:facet>
                                                <h:outputText value="#{item.id}">
                                                    <f:convertNumber pattern="0000"/>
                                                </h:outputText>
                                            </p:column>
                                            
                                            <p:column id="colDominio" width="150" style="width: 150px" >
                                                <f:facet name="header">
                                                    <h:outputText value="Tipo de Parametro"/>
                                                </f:facet>
                                                <div> 
                                                    <h:outputText value="#{item.txtDominio}" >
                                                    </h:outputText>
                                                </div>          
                                            </p:column>
                                            <p:column id="colParametro" width="200" style="width: 200px;">
                                                <f:facet name="header">
                                                    <h:outputText value="Nombre de Parametro"/>
                                                </f:facet>                                                
                                                <h:outputText value="#{item.txtParametro}" />
                                            </p:column>
                                            <p:column width="150" style="width: 150px; text-align: center;">
                                                <f:facet name="header">
                                                    <h:outputText value="Valor"/>
                                                </f:facet>                                                
                                                <h:outputText value="#{item.txtValor}" />                                                
                                            </p:column>
                                            <p:column width="60" style="text-align: center; width: 60px">
                                                <f:facet name="header">
                                                    <h:outputText value="Activo"/>
                                                </f:facet>                                                
                                                <p:selectBooleanCheckbox disabled="true" value="#{item.flgActivo == '1'}"/>
                                            </p:column>
                                        </p:dataTable>
                                        </div>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                     </p:panel>
                 </h:form>
                 
                    <p:dialog modal="true" header="Desactivar Parametro General" widgetVar="dlgConfirmacion" resizable="false"
                          width="410" height="100" showEffect="clip" hideEffect="fold" id="dlgMensaje">
                        <p:panel>
                            <table>
                                <tbody>
                                    <tr>
                                        <td><span class="ui-icon ui-icon-alert ui-confirm-dialog-severity" style="margin-bottom: 10px;"></span>
                                            <h:outputLabel style="font-size: 10pt;" value="¿Desactivar la entidad Parametro General seleccionada?"/>
                                        </td>
                                    </tr>
                                </tbody>
                                <tfoot>
                                    <tr>
                                        <td style="text-align: center;">
                                            <p:commandButton value="Sí" 
                                                             actionListener="#{generalesController.desactivarGeneral}" 
                                                             onclick="dlgConfirmacion.hide()" 
                                                             update=":frmGestionarGenerales:grdGenerales, :frmGestionarGenerales:msjFiltro"/>
                                            <p:commandButton value="No" onclick="dlgConfirmacion.hide()"
                                                             update=":frmGestionarGenerales:grdGenerales, :frmGestionarGenerales:msjFiltro"/>
                                        </td>
                                    </tr>
                                </tfoot>
                            </table>      
                        </p:panel>
                        <p:ajax event="close" update=":frmGestionarGenerales:grdGenerales" listener="#{generalesController.searchGeneral}"/> 
                    </p:dialog>
                 <p:dialog id="dlgDetalleGenerales" widgetVar="editarContenidoGenerales" header="Registro de Parametros Generales" 
                           appendToBody="true" showEffect="clip" hideEffect="fold" modal="true" resizable="false">
                    <ui:include src="DetalleGenerales.xhtml"/>
                    <p:ajax event="close" update=":frmGestionarGenerales:grdGenerales" listener="#{generalesController.searchGeneral}"/> 
                </p:dialog>
                 <p:dialog id="dlgDominio" modal="true" header="Búsqueda de Dominio" 
                           widgetVar="buscaDominio" resizable="false"
                           width="400"  height="300"
                           appendToBody="true"
                           showEffect="clip" hideEffect="fold">
                    <ui:include src="frmListarDominios.xhtml" />
                    <p:ajax event="close" update="frmListarDominios, :frmDetalleGenerales"/> 
                </p:dialog>
             </ui:define>
        </ui:composition>
    </h:body>
</html>